---@class BuffEffect235100 : BaseBuffEffect
BuffEffect235100 = ClientFight.CreateClass("BuffEffect235100", ClientFight.BaseBuffEffect)
local t = BuffEffect235100
t.BUFF_EFFECT_235100_ATK_FIGHT_IDS = "BUFF_EFFECT_235100_ATK_FIGHT_IDS";
---@param fight Fight
---@param buff FighterBuff
function t:action(fight, buff, ...)
    local parameters = {...};
    local fighter = buff.target;
    local target = parameters[1];
    local fightResult = parameters[3];
    if (fightResult.state == DamageResultTypeEnum.HEAL) then
        return IBuffEffect.FAIL;

    end
    if (fightResult.state == DamageResultTypeEnum.ENERGY) then
        return IBuffEffect.FAIL;
    end
    if (not table.contains(buff.effectParams, t.BUFF_EFFECT_235100_ATK_FIGHT_IDS)) then
        buff.effectParams[t.BUFF_EFFECT_235100_ATK_FIGHT_IDS] = {};
    end
    local fightIds = buff.effectParams[t.BUFF_EFFECT_235100_ATK_FIGHT_IDS];
    if (table.contains(fightIds, target.fighterId)) then
        return IBuffEffect.FAIL;
    end
    table.insert(fightIds, target.fighterId);

    local effectVals = buff.buffBean.f_BuffEffectValue;
    BuffManager.addBuff(fight, buff.skill, fighter, fighter, false, effectVals[1], effectVals[2], parameters);
    return ClientFight.BaseBuffEffect.action(self, fight, buff, ...);
end

t.New()